#ifndef RAY_TRACER_H_
#define RAY_TRACER_H_

#include "Camera.h"
#include "Vec3.h"
#include "Scene.h"
#include "Light.h"

class RayTracer
{
public:
    RayTracer(Scene* s) : 
    m_scene(s) {}
    virtual ~RayTracer(){}
    virtual Color TraceRay(const Ray& ray, int  depth = 0) const;
    Color ShadeThis(const ContactData& d) const; 

protected:
    Scene* m_scene;
};

#endif